package com.example.demo.controller;

import com.example.demo.model.Student;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.Arrays;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:DELL
 * Date:2025-04-21
 * Time:18:38
 */
@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    public String say(){
        return "hello,spring mvc";
    }
    @RequestMapping("/r1")
    public String r1(String name){
        return "接到参数，name:"+name;
    }

    @RequestMapping("/r2")
    public String r1(Integer age){
        return "接到参数，age:"+age;
    }
    @RequestMapping("/r3")
    public String r1(int age){
        return "接到参数，age:"+age;
    }
    @RequestMapping("/r4")
    public String r1(String name,Integer age){
        return "接到参数，name:"+name+",age:"+age;
    }
    @RequestMapping("/r5")
    public String r5(Student student){
        return "接到参数,student:"+student;
    }
    @RequestMapping("/r6")
    public String r6(@RequestParam("name") String username){
        return "接到参数,name:"+username;
    }
    @RequestMapping("/r7")
    public String r7(@RequestParam(value = "name",required = false) String username){

        return "接到参数,name:"+username;
    }
    @RequestMapping("/r8")
    public String r8(String[] array){

        return "接到参数,array:"+ Arrays.toString(array);
    }
    @RequestMapping("/r9")
    public String r9(@RequestParam(required = false) List<String> list){

        return "接到参数,list:"+ list;
    }
    /*接收json*/
    @RequestMapping("/r10")
    public String r10(@RequestBody Student student){
        return "接到参数,student:"+student;
    }
    /*从路径中获取id*/
    @RequestMapping("/article/{articleId}")
    public String r11(@PathVariable("articleId") Integer articleId){
        return "接到参数,articleId:"+articleId;
    }
    /*接收多个参数*/
    @RequestMapping("/article/{articleId}/{name}")
    public String r12(@PathVariable("articleId") Integer articleId,@PathVariable("name") String name){
        return "接到参数,articleId:"+articleId+"name:"+name;
    }
    /*上传文件*/
    @RequestMapping("/r13")
    public String r13(@RequestPart("file") MultipartFile imgfile){
        String originalFilename=imgfile.getOriginalFilename();
        return "接到到的文件,文件名称:"+originalFilename;
    }
}
